The following description is provided to assist the understanding of the reader. None of the information provided or references cited are admitted to be prior art.
Memory device stores electronic data. For writing data, some memory device scrambles the electronic data, and encodes the scrambled data to store the electronic data. Scrambling may be applied to distribute hardware (e.g., memory cells, channels, etc.) usage, and encoding may be applied to perform error correction coding (ECC) or data recovery. In one approach, the memory device receives electronic data, generates a scrambling seed, for example, through a random function or a random number generator, applies the scrambling seed to a sequence generator (e.g., linear feedback shift register) to obtain a scrambling sequence, and scrambles the electronic data by applying XOR operation on the electronic data and the scrambling sequence. The memory device may also encode the scrambled data and the scrambling seed, and store the encoded data in memory cells.
Reading stored data involves decoding the stored data, and descrambling the decoded data. In one approach, encoded data is decoded and scrambling seed is obtained from the decoded data. A descrambling may be performed on the decoded data based on the scrambling seed. In some cases, the scrambling seed obtained from the decoded data may have errors, thus subsequent descrambling performed based on the incorrect scrambling seed may render incorrect data read.